#ifndef _SHD_GLOBAL_HLSL_
#define _SHD_GLOBAL_HLSL_

// This allows us to compile the shader with a #define to choose
// the different partition modes for the hull shader.
// See the hull shader: [partitioning(HS_PARTITION)]
// This sample demonstrates "integer", "fractional_even", and "fractional_odd"
#ifndef HS_PARTITION
#define HS_PARTITION "integer"
#endif // HS_PARTITION

// The input patch size.  In this sample, it is 16 control points.
// This value should match the call to IASetPrimitiveTopology()
#define INPUT_PATCH_SIZE 1

// The output patch size.  In this sample, it is also 16 control points.
#define OUTPUT_PATCH_SIZE 1

Texture2D texture_offset : register( t0 );
Texture2D texture_position : register( t1 );
SamplerState sampler_linear : register( s0 );
SamplerState sampler_point : register( s1 );

//--------------------------------------------------------------------------------------
// Constant Buffers
//--------------------------------------------------------------------------------------
cbuffer cbPerFrame : register( b0 ) {
	matrix	g_mViewProjection;
	float3	g_vCameraPosWorld;

	float	g_fTessellationFactor;

	int		g_iTimer;
	/* [0.0,1.0[ */
	float	g_fInterpolationTimer;
	int		g_iLimitTime;

	int		g_iQttControlPoints;

	int		g_iInterpolationType;

	float	g_fRadius;
};

#endif // _SHD_GLOBAL_HLSL_
